package cn.mymall.config;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;

@Component
public class SpringContextUtil implements ApplicationContextAware {
	private static ApplicationContext context = null;

	@Override
	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
		context = applicationContext;
	}

	public static String getActiveProfile() {
		return context.getEnvironment().getActiveProfiles()[0];
	}

	public static boolean isProdEnv() {
		if(StringUtils.equalsIgnoreCase("prod", getActiveProfile())){
			return true;
		}
		return false;
	}
	public static boolean isTestEnv() {
		if(StringUtils.equalsIgnoreCase("dev", getActiveProfile()) || StringUtils.equalsIgnoreCase("test", getActiveProfile())){
			return true;
		}
		return false;
	}

	public static boolean isDevEnv() {
		if(StringUtils.equalsIgnoreCase("dev", getActiveProfile())){
			return true;
		}
		return false;
	}
	public ApplicationContext getApplicationContext(){
		return context;
	}
}
